#ifndef __LIST_H__
#define __LIST_H__
#include <stdbool.h>

typedef struct List_t List_t;
typedef int ListElementType ;

List_t *list_create(void);
void list_distory(List_t *list);

bool list_empty(List_t *list);
void list_clear(List_t *list);

bool list_push(List_t *list, ListElementType element);
bool list_pop(List_t *list, ListElementType *element);

bool list_push_front(List_t *list, ListElementType element);
bool list_pop_front(List_t *list, ListElementType *element);


#endif // __LIST_H__